﻿// exercise_9.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <stdio.h>
#include <string.h>

// 7-1 删除字符
int isalpha(char c)
{
	return (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z');
}
void ex9_7_1()
{
	char str1[100], str2[100];
#if _MSC_VER >= 1900
	gets_s(str1, 100);
#else
	gets(str1);
#endif // _MS_VER

	scanf("%s", str2);

	int i = 0, j = strlen(str1) - 1;
	while (i <= j && str1[i] == ' ')
		i++;
	while (i <= j && str1[j] == ' ')
		j--;

	printf("result: ");
	while (i <= j)
	{
		if (str1[i] == str2[0] || isalpha(str2[0]) && isalpha(str1[i]) && (str1[i] == str2[0] + 32 || str1[i] == str2[0] - 32))
		{
			i++;
			continue;
		}
		putchar(str1[i++]);
	}
}

// 7-2 二维数组查找目标值
int matrix[1000][1000];
void find_number_in_2darray(int m, int n, int target)
{
	int row = 0;
	int col = n - 1;

	while (row < m && col >= 0)
	{
		int num = matrix[row][col];
		if (num == target)
		{
			printf("%d %d", row, col);
			return;
		}
		else if (num > target)
		{
			col--;
		}
		else
		{
			row++;
		}
	}
	printf("-1 -1");
}

void ex9_7_2()
{
	int m, n, x;
	scanf("%d%d%d", &m, &n, &x);
	for (int i = 0; i < m; i++)
	{
		for (int j = 0; j < n; j++)
		{
			scanf("%d", &matrix[i][j]);
		}
	}
	find_number_in_2darray(m, n, x);
}

// 7-3 说反话-加强版
void ex9_7_3()
{
	char str[500002];
#if _MSC_VER >= 1900
	gets_s(str, 500002);
#else
	gets(str);
#endif // _MS_VER

	int len = 0;
	int first = 1;
	for (int i = strlen(str) - 1; i >= 0; i--)
	{
		len = 0;
		while (i >= 0 && str[i] != ' ')
		{
			i--;
			len++;
		}
		if (len != 0)
		{
			str[i + len + 1] = '\0';
			if (first == 1)
			{
				printf("%s", str + i + 1);
				first = 0;
			}
			else
			{
				printf(" %s", str + i + 1);
			}
		}
	}
}

// 7-4 找出不是两个数组共有的元素
void ex9_7_4()
{
	int a[20], b[20], c[20];
	int m, n, i, j, k = 0;

	scanf("%d", &m);
	for (i = 0; i < m; i++)
		scanf("%d", &a[i]);

	scanf("%d", &n);
	for (i = 0; i < n; i++)
		scanf("%d", &b[i]);

	for (i = 0; i < m; i++)
	{
		for (j = 0; j < n; j++)
		{
			if (a[i] == b[j])
				break;
		}
		if (j >= n)
		{
			c[k++] = a[i];
		}
	}

	for (i = 0; i < n; i++)
	{
		for (j = 0; j < m; j++)
		{
			if (b[i] == a[j])
				break;
		}

		if (j >= m)
		{
			c[k++] = b[i];
		}
	}
	printf("%d", c[0]);

	for (i = 1; i < k; i++)
	{
		for (j = 0; j < i; j++)
		{
			if (c[i] == c[j])
				break;
		}
		if (j >= i)
			printf(" %d", c[i]);
	}
}
int main()
{
	ex9_7_3();
}